Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix channel name split issue in JPOS 3 #634

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

JinPengTan
Copy link

In JPOS 2, the channel name format is {IP:port}, but in JPOS 3, it changes to {LocalPort} {IP:Port} (with a space between them). However, QServer splits the channel name based only on spaces, which causes unexpected behavior.

StringTokenizer tok = new StringTokenizer(channelNames, " ");
channelName = new String[tok.countTokens()];

Example:
Given the value of getISOChannelNames() returned by JPOS 3 is
10011 127.0.0.1:12345 10012 127.0.0.1:12346 10013 127.0.0.1:12346
Going thru the StringTokenizer, it will become this
channelName[0] = 10011
channelName[1] = 127.0.0.1:12345
channelName[2] = 10012
channelName[3] = 127.0.0.1:12346
Attached a photo during debugging
image

image

Fix the issue by providing a new regex.
Attach a photo of regrex checker
image

Add !sb.isEmpty() to the condition. Without it, getChannelNames() will start with an empty space.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant